System Requirements

Visual Basic

This release of Document! VB works with Visual Basic 5 (SP2 or greater) and version 6.

Visual Basic version 4 is not directly supported, however the code parser will work with VB 4 code and running the add-in through VB 5 with VB 4 code should work fine.

Operating System

Document! VB will operate on Windows 95, Windows 98 and Windows NT version 4 or 5.

HTML Help Compiler

You must have the Microsoft HTML Help compiler installed on your machine to enable the HTML Help file to be compiled. The HTML Help compiler versions included in HTML Help workshop 1.1 and 1.2 are both supported. HTML Help Workshop 1.2 is recommended.

If you do not have the HTML Help compiler it is available for free download from here.


Document! VB Logo

This last year has seen the advent of HTML Help as the standard for Windows Help, both for business applications and for development tools. This new standard presents both challenges and opportunities for the Visual Basic Developer.

Document! VB shortcuts the lengthy process of developing HTML Help files for your applications object models. The advanced code parser within Document! VB analyses your source code to provide a structured set of HTML Help pages that represent your entire projects classes, modules and forms. ActiveX controls, DLLs and EXEs are all supported.

By including existing comments from your source code, a complete set of documentation for your software can be generated in under a minute, saving vast amounts of laborious documentation effort and improving the accuracy of your documentation by documenting directly from source code.

The pages, in their default format, look and behave in the same way as the current Microsoft standard for object model documentation, with object tree diagrams to represent clickable dependancy relationships within your components, and drop down menus at the head of each page to allow easy navigation between topics. Collections, properties, references and methods are fully documented, with hyperlinks and drop down menus providing navigation between interdependant objects in your documentation.

  • I've heard enough, show me how to get started.
  • Show me an example help file
  • Tell me more about what Document! VB will generate for me


Getting Started

Creating your first HTML Help file using Document! VB is a simple process. Follow the steps below with some of your source code and you'll be suprised at how fast you will be producing automatic, high quality HTML Help based documentation.

  • Load some of your existing source code, containing one or more modules, into Visual Basic 5 or 6;
  • Select the Visual Basic Add-ins menu. If 'Document! VB Wizard ...' does not appear as a menu item, follow the steps in Configuring Document! VB as an Add-in to correct;
  • When the first screen appears, Select the first Option Button if your project consists of a structured object model, or the second (default) option button if it is not (if you are not sure, leave the default setting);
  • Follow through the 6 stage wizard, initially leaving the settings at their defaults. Refer to the stage by stage guide in this help file if you like;
  • Type in your required output folder in the 'Destination' box at stage 6, and then click 'Finish'.

Every control on the Wizards form has a short 'What's this' description which can be displayed by clicking on the 'What's this' button illustrated to the left

After the Wizard has completed, the generated HTML Help File will be displayed. Take a few seconds to examine the content and structure of the file.

You may now want to experiment with some of more advanced features :

  • Tagging comments in your source code
  • Creating custom templates for the HTML Project files
  • Creating context sensitive help


Example help file

This section of the online help contains a link to an example HTML Help file generated entirely using Document! VB.

If you wish to see the example file in it's own Window, including full Index and search capabilities, click this button


Stage by Stage guide

This guide will walk through the various stages of the Document! VB Wizard, describing the options available to you at each stage.

Remember that each control on the Wizards form has a short 'What's this' description which can be displayed by clicking on the 'What's this' button illustrated to the left

Stage 1 - Select Project type and modules

Stage 1b - Select modules (Object model project type)

Stage 2 - Select code elements to include

Stage 3 - Select comment types to include

Stage 4 - Select Templates

Stage 5 - Output Options

Stage 6 - Finish


Stage 1 - Select Project type and modules

This first stage identifies the type of project you are documenting.

You should select the first option button, 'My project contains an object model ...' if your project consists of a hierarchical set of objects, similar to the programmable object hierarchies found in products such as Microsoft Excel, or within components such as DAO or ADO. Selecting this type of project requires you to identify the root of your object model from the 'Root Module' combo box, such that Document! VB can create an appropriate object model overview diagram.

You should select the second option button 'My project contains a set of modules without a single ...' if your project contains a set of modules, perhaps related, but does not contain an object hierarchy with a single module forming the root. You can use the 'Public only' button to automatically select only modules that are externally creatable (i.e. public classes and User controls). You can use the 'Select All' button to automatically check all modules in the list.

Selecting the wrong project type will not cause an error, but may cause Document! VB to document the wrong aspects of your project and produce an innapropriate overview diagram. If you are in doubt about your project type, select the second option button.


Stage 1b - Select modules (Object model project type)

This stage only appears if you selected an object model based project type in Stage 1.

The tree view displayed illustrates the structure of your project and allows you to select which parts of your object model to produce documentation for. Any text appearing in brackets appearing after an item name indicates the type of that item (e.g. a property called MyCollection of type MyObjectType would appear on the tree view as 'MyCollection (MyObjectType)'. The icon next to each item indicates the item type, according to the following key.

The Project
A collection
An object

Click on the check boxes appearing next to items on the tree view to select or de-select them. Items not selected on this tree view will not be included in the generated HTML Help documentation.

If you would like to know more about how Document! VB determines the structure of your project, of the structure of your project presented on the tree view does not appear to be correct or items are missing from the tree view, please check through our Object Model Documentation Troubleshooter.

Next Stage >


Stage 2 - Select code elements to include

This stage allows you to limit the aspects of your project that Document! VB will produce documentation for.

Code elements

The 7 available check boxes allow you to select whether an item in the generated HTML Help file is generated for the various types of code element.

Include Methods | Determines whether object methods (functions and subs) are included
Include Properties | Determines whether object properties are included
Include Collections | Determines whether objects supporting the NewEnum method are included
Include Events | Determines whether Events are included
Include Enumerations | Determines whether enumerations are included
Include Library Functions (Declare Statements) | Determines whether Declare statements are their associated libraries are included
Include References | Determines whether project references are included

Public / Private

These 2 option buttons allow you to specify whether Private and Friend members should be included in the generated HTML Help file, or to just include the public members.


Stage 3 - Select comment types to include

This stage allows you to control which comments will be extracted from your source code and included in the generated HTML Help file.

Comments can be extracted by Document! VB in two ways, Automatic and Tagged. Automatic association associates any comment lines immeadiately preceeding a code element with the element for inclusion in the generated documentation. Document! VB can automatically associate and extract comments associated with Blocks (Functions, Subs and Properties), Variables, Events, Enumerations and Declare statements. Any comments appearing before any other line in a component are associated with the component itself.

Tagged association allows you to explicitly identify source code comments as associated with a particular code element. In order to have comments included for Parameters and Return Types, you need to tag them in your source code, Document! VB can not associate them automatically. You may want to read up on how to explicitly tag source code comments or look at the examples below.

By default, Document! VB will extract all comment types, both automatic and tagged. If both comment types are found for a single code element, or if multiple comment lines exist, comments will be concatenated together in the order they appear in the code, with a space inserted between each line found.

It is possible to insert hyperlinks to other parts of your code, and / or to insert HTML tags in your comments for more precise formatting - refer to advanced comment extraction tips for details.

Examples

The following sample code illustrates the use of each of the automatic and tagged comment types.

' An XML document element. An element can have
' properties and text associated with it.

' ##CD An XML document element. ... 		<- automatically be extracted as a component description

<- explicitly identified as the component description

' The name of the element
Public Name As String
' The type of the element
Public TypeName As xmlElementTypeEnum

' ##VD TypeName The type of the element

' Valid types of Element
Public Enum xmlElementTypeEnum
   xmlStringType = 1  ' A string element
   xmlNumericType = 2
End Enum

' Fired when the element has been loaded
Event Loaded()

' Copy memory to populate API structure
Public Declare Sub CopyMemory Lib "kernel32" Alias _
"RtlMoveMemory" (Destination As Any, Source As Any,_
ByVal Length As Long)
<- associated with the property 'Name'

<- associated with the property 'TypeName'

<- explictly identified as the variable description for the 'TypeName' variable

<- associated with the enumeration 'xmlElementTypeEnum'
<- associated with the enumeration member

<- associated with the event 'Loaded'

<- associated with the Declare statement 'CopyMemory'

' Load the element from the passed string
Public Function Load(Source As String) As Boolean

' ##BD Load the element from the passed
' ##BD  string

' ##PD Source A valid string containing an
' ##PD  XML Element

' ##RD Indicates success or failure of the
' ##RD  load operation

End Function
<- associated with the Method 'Load'

<- explicitly identified as the Block description for the method 'Load'

<- explicitly identified as the Parameter description for the parameter 'Source'

<- explicitly identified as the Return Type description for the method 'Load'


Stage 4 - Select Templates

A basic HTML Help project consists of a project file (containing project options and a listing all the files to include in the HTML Help file) and optionally a table of contents file and an index file. This page allows you to choose which files Document! VB should generate for you and on which 'template file' to base them on. By default, Document! VB generates all files using the standard Document! VB templates.

You would normally want Document! VB to generate the HTML Help project files for you, but if you wish to include the pages generated by Document! VB in an existing help file, or wish to create your own project, contents or index files for some other reason, you can de-select creation of them here.

If you are an expert HTML Help author, you may want to customise the default templates used by Document! VB. To allow you to do this, you can select a specific location for the Project, Index and Contents file templates. Refer to customising the HTML Help project templates for details on how to do this.

Drop down menus

HTML provides 2 main mechanisms for implementing the 'drop down' menus produced by Document! VB. The first option uses something called 'ALinks'. The Alink marker mechanism involves placing named markers within HTML Help pages - these markers are then picked out by the HTML Help compiler and matched against similarly named drop down menus in order to produce the required menu content.

The advantage of using ALinks is that you can add additional pages to your HTML Help file and by simply adding an appropriately named Alink marker can add your pages to a Document! VB created menu.

The disadvantage of using Alinks (and the reason why this option exists) is that when the Document! VB pages are viewed through a standard browser the menus appear greyed out and empty - this is because the ALinks are only resolved at the point your HTML Help file is compiled. Clearing the 'Use Alinks for menus' box uses an alternative menu mechanism which includes the menu items for each menu within the HTML pages and consequently allows you to put your Document! VB produced pages on a web site for browsing using Internet Explorer 4.0.

In summary, if you wish to use your Document! VB generated pages on a website as well as in a compiled HTML Help file, leave this check box cleared. Otherwise, check this box.


Stage 5 - Output Options

This stage allows to select various options controlling the output generated by Document! VB.

Destination

Either type in an existing path and required output filename, or press the 'Browse' button to identify the required output path and file name.

Write context sensitive Help IDs to source code

This option will do 3 things

  1. Make sure that each Method, Property and Component in your source code has a Help Context ID, generating a new unique one if it does not;
  2. Associates the Help Context IDs with the relevant topic in the generated HTML Help File;
  3. Updates the VB Projects 'Help File' property to invoke the correct Help file when a user of your software invokes context sensitive help (presses F1) when the cursor is over one of your components, Methods or Properties or when in the VB Object Browser.

This feature is extremely powerful as it allows users of your software to get instant access to the topic they are interested in without having to search through complex index or table of contents lists.

For further information on Document! VBs context sensitive help feature, refer to Creating context sensitive help.

IMPORTANT If you are developing using Visual Basic 5 and / or the software you are producing context sensitive HTML help for will be used by Visual Basic 5 users please refer to the 'Providing HTML Help based context sensitive help in Visual Basic 5' topic.

Write Help Descriptions

This option allows you to write back comments extracted from your source code as Help Descriptions that will appear associated with a method, property or component when a user of your software uses a tool such as the VB Object Browser.

Compile Help File

You may not (for whatever reason) require Document! VB to automatically compile the HTML Help file for you. Removing the check from this box prevents HTML Help file compilation.

Always show HTML Help compiler output

By default, the output from the HTML Help compiler is only displayed if an Error or a Warning was issued. If you wish to always see the compiler messages, check this box.

Display HTML Help file after output

Check this box to display the generated HTML file after it has been successfully created.

WinHelp Support

The 2 Winhelp support options allow you to create and optionally compile a Winhelp file that will allow context sensistive HTML Help to be used by Visual Basic 5 users.

You do not need to check either of the Winhelp support check boxes unless you intend to provide the Document! VB produced HTML Help to Visual Basic 5 users. For more information please see the 'Providing HTML Help based context sensitive help in Visual Basic 5' topic.


Stage 6 - Finish

Check the 'Save these settings' box to save the settings you have selected for future runs.

Check the '.. but only for this project' box to save the settings only for this VB Project. This enables you to customise the output for specific VB projects.

< Previous Stage


Advanced comment extracting techniques

HTML Tags

In Visual Basic, comments always appear as plain text without any formatting. Becuase your generated Help is HTML based, you can include standard HTML tags to enhance the formatting of the comments when they are extracted to the HTML Help file. A couple of examples follow, but your imagination is the limit.

If your HTML tags get too elaborate and your comments become difficult to read, you may want to create a whole seperate HTML page in a tool such as Microsoft Frontpage, include the file in your HTML Help project file (see custom HTML Help project templates) and include a hyperlink to your page using the technique illustrated below.

' In this comment I want to <b>emphasise</b> a word

' In this comment I want to hyperlink to my web site
'  <a ref="www.mycompany.com">Check for updates here</a>

Hyperlinks

Often, in your comments you refer to other objects within your project. To make you generated help more navigable, you can identify places in your comments that should be presented as a clickable link to another component in the same project. For example, you have 2 classes in your project, and 'Class1' has a method that accepts an object of type 'Class2'. You may decide to include a comment describing the method as follows :

' This method performs a transformation on the passed
'  %Class2% object
would result in :
This method performs a transformation on the passed Class2 object
in the generated HTML Help file topic

When your HTML Help file is created, the %Class2% placeholder is converted into a hyperlink to the relevant page describing the Class2 component.

As a further step, you can include a placeholder of the format %Friendly name:Component Name% that allows you to control the text displayed for the generated hyperlink. An example follows :

' This method performs a transformation on the passed
'  %Class2 (Click here):Class2% object
would result in :
This method performs a transformation on the passed Class2 (Click here) object
in the generated HTML Help file topic.


Tagging comments in your source code

You will have one of two reasons for wanting to explictly tag comments in your source code :

  1. You want finer control over how Document! VB picks out comments from your source code;
  2. You want to include comments for Parameters and / or Return Types (Document! VB cannot automatically associate comments with these items).

Tagging comments is straightforward and involves identifying the type of comment using a prefix at the start of each relevant comment line. You can find some examples of tagged comments in the help for Stage 3 of the Document! VB Wizard and at the end of this topic.

The table below lists the prefixes for each of the comment types that can be tagged.

Prefix | Comment Type | Description
##CD | Component | This type of comment will appear in the page describing a component in overview. A general description of component, it's purpose and usage guidelines would normally be relevant. A component description can appear anywhere in the components source code.
##BD | Block | This type of comment will appear in the page describing a particular Method or property (Function, Sub or Property Let/Get/Set). A block description can appear anywhere within the blocks code, e.g. between 'Public Sub/Function/Property ...' and 'End Sub/Function/Property'.
##VD | Variable | This type of comment will appear in the page describing a property (module level variable). The comment line must be of the format '##VD [VariableName] [Comment]' where the VariableName is the name of the variable the comment is related to. A variable description can appear anywhere AFTER the variable declaration itself.
##PD | Parameter | This type of comment will appear against a parameter of a Function, Sub or Property. The comment line must be of the format '##PD [ParameterName] [Comment]' where ParameterName is the name of the parameter the comment is related to. A parameter description can appear anywhere within the blocks code, e.g. between 'Public Sub/Function/Property ...' and 'End Sub/Function/Property'.
##RD | Return Type | This type of comment will appear against a Methods (Function)Return Type. A Return type description can appear anywhere within the blocks code, e.g. between 'Public Function ...' and 'End Function ...'.

Sample code

' ##CD This component ...  Use this component to ...

Public Name As String
' ##VD Name The textual name of this object

Public Function Load(Source As String) As Boolean

    ' ##BD This function loads an ... from a Source string

    ' ##PD Source An appropriately formatted string

    ' ##RD True = Success, False = Failure

End Function


Customising Project Templates

Document! VB ships with HTML Help project template files that will create a standard 3 pane HTML Help window and create a standard table of contents and index. As you become more familar with authoring HTML Help, you may wish to adapt or replace these template files to customise the look and feel of the generated HTML Help file. You can specify the location of your custom templates in Stage 4 of the Document! VB Wizard.

The Document! VB template files are standard HTML Help Project (.hhp), Contents (.hhc) and Index (.hhk) files with placeholders for any variable items (such as project name or file lists). These placeholders are replaced with the correct values when Document! VB is run for a particular project.

The placeholders are identified by a leading and trailing '%'. The default .hhp template file appears below as an illustration.

[OPTIONS]
Auto Index=Yes
Compatibility=1.1
Compiled file=%ProjectName%.chm
Contents file=%ProjectName%.hhc
Default Window=Default
Default topic=default.html
Display compile progress=Yes
Full-text search=Yes
Index file=%ProjectName%.hhk
Language=0x809 English (United Kingdom)
Title=%ProjectDescription%

[WINDOWS]
Default="%ProjectDescription%","%ProjectName%.hhc","%ProjectName%.hhk","default.html",,,,,,0x23420,200,0x380e,,,,,,,,0

[FILES]
%Files%

As you can see, pretty much anything in the Project file can be altered, as long as the variable items such as ProjectName are taken account of.

Additional files to include can be inserted into the template contents (.hhc) file, such that the generated Document! VB contents can appear as a subset of a larger Help file.

Additional index entries can be inserted into the template index (.hhk) file, such that the generated Document! VB index entries can appear as part of a larger index.

The available placeholder names are as follows :

Project file (.hhp)

%ProjectName% | The Visual Basic Project Name
%ProjectDescription% | The Project description as entered in the VB Project Properties dialog
%Files% | Any files entries generated by Document! VB

Contents file (.hhc)

%Contents% Document VB generated contents items

Index file (.hhk)

%Contents% Document VB generated index items


Implementing Context Sensitive help

As a Visual Basic developer, you will appreciate how convenient it is to be able to press F1 whilst your cursor is over a Method or property or Object you are attempting to use and to have the relevant Help file and topic appear. Document! VB allows you to implement that level of Help support in your software without you having to lift a finger.

Creating a fully context sensitive project is a 3 stage process :

  1. When you are ready to create your help file and compiled software, invoke the Document! VB wizard and select 'Create context sensitive links' in Stage 4 of the Document! VB wizard. This will create a seperate copy of your source code containing the required context sensitive help id numbers and create the required links in your generated help file;
  2. Compile the seperate copy of your source code (which contains the required Help IDs and Help file name);
  3. Ship the created HTML Help file with your compiled software, ensuring that your Help file is installed in either a) the <Windows>\Help directory, the <Windows>\System32 directory or your softwares install directory.

Important If you are shipping your component for use by Visual Basic 5 users, please read the 'Context Sensitive HTML Help and Visual Basic Version 5' topic.

It really is as simple as that. Now your customers / users will have instant access to the Help they need.


Context Sensitive HTML Help and Visual Basic Version 5

Visual Basic version 5 does not contain any native support for HTML Help. What this means is that even if you compile your component with the 'Helpfile' property containing a valid .chm file, VB5 will assume the file is a Winhelp file and will display an error message if a user attempts to invoke context sensitive help for your component.

This is an issue with Visual Basic 5 that (with the release of Version 6) is unlikely to ever be resolved and the only current choice most Version 5 developers and users have is to continue to use the Winhelp standard to create and use Help files.

Document! VB offers a solution to this problem in the form of a 'Winhelp stub' file. A Winhelp stub accepts and redirects Help requests from a development environment that only works with Winhelp files (i.e. Visual Basic 5) to your HTML Help file. By doing so, it allows you to create HTML Help based context sensitive help that can be used by both VB5 and VB6 users.

Creating the WinHelp stub

Follow the steps below to make use of the 'Winhelp stub' feature :

  1. Make sure you have the Winhelp compiler installed on your machine (this comes pre-installed with Visual Studio 6, but you may have to locate it on the CD for previous versions and VB only installations - the filenames required are hcw.exe and hcrtf.exe);
  2. Check the 'Create context links', 'Create WinHelp stub' and 'Compile WinHelp stub' options in the Document! VB wizard (stage 5);
  3. Click on 'Finish'. Document! VB will create both an HTML Help file and the required Winhelp stub files (the WinHelp stub files are created in a sub-directory of your chosen output directory named 'WinHelpStub').

Document! VB sets up all of the necessary registry settings such that after running the Document! VB wizard you can a) compile the version of your source generated by Document! VB (containing the Help Context IDs to support context sensistive help) and then b) test the help functionality in VB6 and / or VB5 on your development machine.

When shipping to VB5 users

  1. Ship the 2 .chm files created in the 'WinHelpStub' sub-directory of your chosen output directory (default file names will be <projectname>.chm and _<projectname>.chm;
  2. If you are creating a single setup package to support VB5 and VB6 users, also ship the normal .chm file created by Document! VB, copying each version to a seperate directory;
  3. Create as part of your setup process the registry entries described below to ensure the help files can be located by Windows;
  4. Make sure you ship the HTML Help viewer package with your application in case your target users do not have it installed. The redistributable files are available from the microsoft HTML Help site
  5. Remember that Visual Basic 5 users need to have Internet Explorer version 4 or greater installed to be able to view your HTML Help files.

Registry Entries

Both WinHelp and HTML Help use the Windows registry to determine the location of a given help file. The Document! VB WinHelp stub feature uses that fact to ensure that your HTML Help based documentation is available from within VB5 and 6.

The following registry entry should be created to support VB6 users for an imaginary project named SuperbComponent (NOTE that the registry entries described are automatically created by Document! VB on your development machine when your run the wizard) :

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help\<filename.chm> = <Full path to normal help file>

The following 2 registry entries should be created to support VB5 users :

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Help\<filename.chm> = <Full path to help file created in WinHelpStub directory>
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help\_<filename.chm> = <Full path to help file prefixed with underscore created in WinHelpStub directory>

When shipping to just VB6 users

  1. Forget the WinHelp stub file, simply ship the generated .chm file
  2. Set the following registry value :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\HTML Help\<filename.chm> = <Full path to normal help file>

Note You do not have to compile the source code generated by Document! VB containing the Help context IDs for users of different VB versions (unless you wish to), just follow the Help file naming method outlined above when shipping your software.

Quick Checklist

  • Create and Compile a WinHelp stub;
  • When installing to a users machine, copy the normal and WinHelp stub .chm files to seperate directories;
  • Set up the registry keys described above in 'Registry Entries' to ensure the correct help file is located when called from VB5 or VB6.


Installing Document! VB as an Add-in

Document! VB is automatically configured as a Visual Basic Add-in when you install the software. If for some reason you cannot find Document! VB on the Visual Basic 5 or 6 Add-in menu, follow the steps below to load it is a Visual Basic Add-in.

  • Select the Add-ins menu in Visual Basic;
  • Select the 'Add-In Manager ...' menu item;
  • Select 'Document! VB' from the presented list of installed Add-ins;
  • Check the 'Load / Unload' check box;
  • Check 'Load on Startup' to automatically load and add Document! VB to the Add-ins menu when starting Visual Basic;
  • Click 'OK'

Document! VB should now appear on the Visual Basic Add-ins menu. If it does not, you should re-install the Document! VB setup package.

If the problem persists, contact Innovasys Support.


Object model troubleshooter

In order to determine the structure of your Visual Basic project, Document! VB parses your source code. This topic describes the logic the code parsers uses, so that you can troubleshoot any inconsistencies you may observe in the generated HTML Help file.

Relationships

Document! VB determines relationships between your projects modules in 4 possible ways :

  1. Through module level variables defined as an object type of one of the other modules in your project;
  2. Through Property Get, Let or Set blocks that have an object return type of one of the other modules in your project;
  3. Through Functions that return an object type of one of the other modules in your project.
  4. Through collection type modules (see 'Object or Collection ?' below) that have a method that has a return type of one of the other modules in your project.

Object or Collection ?

For the purposes of documentation, Document! VB seperates your projects modules into 'Objects' and 'Collections'. Document! VB will class a module as a collection if it supports a method called 'NewEnum'.

Example

As a simple example to illustrate the logic described above, take a look at the following code and resulting object model diagram.

---Class XMLDocument

Public Root As Element

---End Class XMLDocument

---Class Element

Public Properties As Properties
Public Children As Elements

---End Class Element

---Class Properties

Public Function Item(Key As String) As Property
    ...
End Function

Public Function [_NewEnum] As IUnknown
    ...
End Function

--- End Class Properties

--- Class Property

...

--- End Class Property

The code above would be represented by Document! VB as the following overview diagram.


Ordering

Document! VB is priced at $199, with substantial volume discounts available.

Please visit the Innovasys web site for information on how to order.


Product Support

Your licence for Document! VB entitles you to free email based product support. Please follow the guidelines below for submitting bug reports to ensure your issue gets dealt with quickly and effectively.

For general product use issues or queries, send email to support@innovasys.co.uk.

Submitting Bug Reports

The amount of information you can provide us with about the nature of a problem you are having will directly affect our ability to resolve it. The more information you can provide about your environment, the steps to reproduce and any other relevant information the better - please be verbose !.

The Document! VB components are rigged to capture details of any unexpected runtime errors that occur. When a run-time error fires, a dialog box will be displayed giving basic details of the error and presenting 3 buttons at the bottom of the dialog. If you are running Windows NT, the error details are written to the Event (Application) log. A sample error dialog is illustrated below.

The first button on the error dialog (with an Internet Explorer graphic on it) when clicked will take you directly to the on-line bug report form on the Innovasys Web site. Details of the error are copied to the clipboard so they can be pasted into the 'Text from Error dialog' box on the on-line form.

The second button is illustrated with an envelope icon. If you click on this button and have a MAPI email client installed it will bring up a prepared email message containing the basic error details and the correct email address (bugs@innovasys.co.uk). The third 'Close' button will dismiss the error dialog. Do not click Close until you have pasted the error details, as subsequent 'cascade' errors may appear which will overwrite the initial and probably most useful error information.

As an alternative to this bug reporting mechanism, or to provide feedback on a bug that does not display an error dialog, please report the bug using the on-line bug report form (preferred) or send email to bugs@innovasys.co.uk.


Web Links

This page contains links to Internet sites on which you may find useful information on HTML Help. These are internet sites not under the control of Innovasys, and Innovasys can assume no responsibility for their contents.

Innovasys Context! VB

If you need to provide context sensitive Help for your applications forms or user controls, you should take a good look at Document! VBs companion product Context! VB. Context! VB dramatically reduces the time and effort required to develop context sensitive help by providing an intuitive user interface to enter and maintain help text within the Visual Basic IDE. Help topic information is automatically associated with individual controls and a full context sensitive help file generated and compiled.

HTMLHelp Center at VB Explorer

The HTMLHelp Center at VB Explorer is devoted to creating a community that will enhance the sharing of information on the new Microsoft HTML Help standard. The site includes tutorials, downloadable freeware samples, frequently asked questions, source code, an HTML Help message board, and other related resources. The HTMLHelp Center is also accessible from a link on the main HTML Help page on the Microsoft web site.

Microsoft HTML Help Site

The official Microsoft HTML Help site. Contains News, documentation and Internationalised versions of the core HTML Help files as well as the essential HTML Help Workshop.

Keyworks HTML Help Tools

Keyworks software provide a free of charge set of utilities for HTML Help. Tools exist to inspecting and decompile HTML Help files along with many other useful utilities.


What is produced

In addition to documenting the basic structure of your project, Document! VB will document :

  • The Syntax of your Methods, Events and Properties;
  • The Parameters of your Methods and Properties, including hyperlinks where the parameter type is one of your projects documented modules;
  • Enumerations, down the level of listing the Enumeration members where a Return type or Parameter type is an enumeration defined within your project;
  • Return types, again including hyperlinks where the return type is one of you projects documented modules;
  • Collections, by identifying internal modules supporting the NewEnum member.

Your existing source code comments

Document! VB will (optionally) intelligently extract your existing source code comments for inclusion into the generated HTML Help file. Comments can also be explicitly identified where required (such as comments relating to Method or Property parameters). The format and layout style of the generated HTML can be controlled through the use of standard cascading style sheets, as well as through bespoke HTML Template files, such that your documentation can adopt a precise customised look and feel.

Context sensitive Help

Document! VB can add context sensitive help support to your components and related HTML Help File, such that a user of your components invoking F1 on a method, property or object name or from within the Visual Basic Object Browser will invoke the appropriate topic generated HTML Help File. This process takes place totally automatically, including the generating of Topic IDs, the generation of MAP and ALIAS sections within the HTML Help Project, and the setting of the VB Projects HelpFile property, all without the need for any manual intervention. This feature alone can save hours of development time.

Contents Page

A contents tree, with topics grouped into Objects, Collections, Properties, Methods, Events, Enumerations and Libraries is automatically generated. These files can be generated from a bespoke template format, enabling you to customise and supplement the default contents.

Index

A full index, containing entries for every page created, is included in the generated HTML Help File. The index file can be generated from a bespoke template format, enabling you to customise and supplement the default contents.

Full Text Search and Favorites

The Full Text Search and Favorites features of HTML Help are exploited and are available in the generated HTML Help File (this feature requires version 1.2 of the Microsoft HTML Help Workshop and compiler).